home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Technotools
/
Technotools (Chestnut CD-ROM)(1993).ISO
/
database
/
vs_804
/
maintsrc.exe
/
E_DICTFL.PRG
< prev
next >
Wrap
Text File
|
1991-11-25
|
10KB
|
327 lines
* Filename.......: E_DICTFL.PRG
*
* Author.........: Vernon E. Six, Jr.
*
* Last Update....: Mon 11/25/91 16:37:13
*
* Created using..: VSG - Vern Six's Get System v1.00.53a
*
* Notice.........: CopyRight (c) 1991 by Vernon E. Six, Jr.
* All Rights Reserved World Wide!
#include "INKEY.CH"
#include "SETCURS.CH"
#include "_DICTFLD.CH"
#include "_DICTHDR.CH"
FUNCTION E_DICTFLD(pl_Update,pc_Mode)
*══════════════════════════════════════════════════════════*
* Edit the current record in _DICTFLD.DBF *
*══════════════════════════════════════════════════════════*
LOCAL getlist := {}
LOCAL GetObj
LOCAL l_EatKeys := .F.
LOCAL a_Say := {}
LOCAL a_Get := {}
LOCAL n_Cntr
LOCAL c_OldHelp
LOCAL n_Correct := 1
*══ Make an assumption ═══════════════════════════════════*
pc_Mode = IF(pc_Mode=NIL,"EDIT",UPPER(pc_Mode))
*═════════════════════════════════════════════════════════*
_DICTFLD->( VS_SetOrder("1") )
_DICTHDR->( VS_SetOrder("1") )
AADD( a_Say, _DICTHDR->DBF_NAME )
AADD( a_Say, _DICTHDR->DESC )
AADD( a_Get, IF(pl_Update, _DICTFLD->FIELD_NMBR , _DEF__DICTFLD_FIELD_NMBR ))
AADD( a_Get, IF(pl_Update, _DICTFLD->FIELD_NAME , _DEF__DICTFLD_FIELD_NAME ))
AADD( a_Get, IF(pl_Update, _DICTFLD->FIELD_TYPE , _DEF__DICTFLD_FIELD_TYPE ))
AADD( a_Get, IF(pl_Update, _DICTFLD->FIELD_LEN , _DEF__DICTFLD_FIELD_LEN ))
AADD( a_Get, IF(pl_Update, _DICTFLD->FIELD_DEC , _DEF__DICTFLD_FIELD_DEC ))
AADD( a_Get, IF(pl_Update, _DICTFLD->DESC , _DEF__DICTFLD_DESC ))
AADD( a_Get, IF(pl_Update, _DICTFLD->DEFAULT , _DEF__DICTFLD_DEFAULT ))
AADD( a_Get, IF(pl_Update, _DICTFLD->PICTURE , _DEF__DICTFLD_PICTURE ))
VS_GRABSCR()
VS_PALETTE(4)
VS_Text(2,"",PADC("Working...",40),"")
DispBegin()
VS_EndText()
IF pc_Mode = "DISPLAY"
VS_WIND(02,02,18,76," Database Field Information "," Press Any Key To Continue ")
ELSE
VS_WIND(02,02,18,76," Database Field Information "," Press <F1> For Help ")
ENDIF
@ 05,04,05,74 BOX "┌─┐│┘─└│ "
@ 04,04 SAY "DataBase Name:"
@ 04,29 SAY "Desc:"
@ 06,10 SAY "Field Name"
@ 06,22 SAY "Type"
@ 06,28 SAY "Length"
@ 06,36 SAY "Dec"
@ 06,04 SAY "Nmbr"
@ 09,04 SAY "Description..."
@ 12,04 SAY "Default Value..."
@ 15,04 SAY "Picture Clause..."
SETCOLOR(VS_WindUns())
@ 04,19 SAY a_Say[001] PICTURE _PIC__DICTHDR_DBF_NAME
@ 04,35 SAY a_Say[002] PICTURE _PIC__DICTHDR_DESC
VS_WndColr()
*══════════════════════════════════════════════════════════*
GetObj := GetNew( 07,04, ;
{|x| IF(x==NIL,a_Get[001], a_Get[001]:=x)},;
"a_Get[001]", ;
_PIC__DICTFLD_FIELD_NMBR )
GetObj:cargo := {"_DICTFLD","FIELD_NMBR"}
GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
AADD( getlist, GetObj )
GetObj:Display()
*══════════════════════════════════════════════════════════*
GetObj := GetNew( 07,10, ;
{|x| IF(x==NIL,a_Get[002], a_Get[002]:=x)},;
"a_Get[002]", ;
_PIC__DICTFLD_FIELD_NAME )
GetObj:cargo := {"_DICTFLD","FIELD_NAME"}
GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
AADD( getlist, GetObj )
GetObj:Display()
*══════════════════════════════════════════════════════════*
GetObj := GetNew( 07,24, ;
{|x| IF(x==NIL,a_Get[003], a_Get[003]:=x)},;
"a_Get[003]", ;
_PIC__DICTFLD_FIELD_TYPE )
GetObj:cargo := {"_DICTFLD","FIELD_TYPE"}
GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
AADD( getlist, GetObj )
GetObj:Display()
*══════════════════════════════════════════════════════════*
GetObj := GetNew( 07,30, ;
{|x| IF(x==NIL,a_Get[004], a_Get[004]:=x)},;
"a_Get[004]", ;
_PIC__DICTFLD_FIELD_LEN )
GetObj:cargo := {"_DICTFLD","FIELD_LEN"}
GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
AADD( getlist, GetObj )
GetObj:Display()
*══════════════════════════════════════════════════════════*
GetObj := GetNew( 07,36, ;
{|x| IF(x==NIL,a_Get[005], a_Get[005]:=x)},;
"a_Get[005]", ;
_PIC__DICTFLD_FIELD_DEC )
GetObj:cargo := {"_DICTFLD","FIELD_DEC"}
GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
AADD( getlist, GetObj )
GetObj:Display()
*══════════════════════════════════════════════════════════*
GetObj := GetNew( 10,06, ;
{|x| IF(x==NIL,a_Get[006], a_Get[006]:=x)},;
"a_Get[006]", ;
_PIC__DICTFLD_DESC )
GetObj:cargo := {"_DICTFLD","DESC"}
GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
AADD( getlist, GetObj )
GetObj:Display()
*══════════════════════════════════════════════════════════*
GetObj := GetNew( 13,06, ;
{|x| IF(x==NIL,a_Get[007], a_Get[007]:=x)},;
"a_Get[007]", ;
_PIC__DICTFLD_DEFAULT )
GetObj:cargo := {"_DICTFLD","DEFAULT"}
GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
AADD( getlist, GetObj )
GetObj:Display()
*══════════════════════════════════════════════════════════*
GetObj := GetNew( 16,06, ;
{|x| IF(x==NIL,a_Get[008], a_Get[008]:=x)},;
"a_Get[008]", ;
_PIC__DICTFLD_PICTURE )
GetObj:cargo := {"_DICTFLD","PICTURE"}
GetObj:postBlock := { || VS_EatKeys(@l_EatKeys) }
AADD( getlist, GetObj )
GetObj:Display()
*══════════════════════════════════════════════════════════*
SETCURSOR(SC_NORMAL)
DispEnd()
*══════════════════════════════════════════════════════════*
* Do all the pre-validations *
*══════════════════════════════════════════════════════════*
IF pl_Update .OR. pc_Mode="DISPLAY"
ENDIF
IF pc_Mode = "DISPLAY"
CLEAR GETS
SETCURSOR(SC_NONE)
VS_INKEY(0)
ELSE
DO WHILE .T.
l_EatKeys := .F.
c_OldHelp = VS_HelpPrg("E_DICTFLD ")
ReadModal(getlist)
VS_HelpPrg(c_OldHelp)
CLEAR TYPEAHEAD
IF LASTKEY() = K_ESC
EXIT
ENDIF
n_Correct = VS_Correct()
DO CASE
CASE n_Correct = 3
VS_PutScr()
RETURN(NIL)
CASE n_Correct = 2
LOOP
ENDCASE
EXIT
ENDDO
ENDIF
VS_PutScr()
CLEAR TYPEAHEAD
IF LASTKEY() = K_ESC .OR. pc_Mode = "DISPLAY"
RETURN(NIL)
ENDIF
BEGIN SEQUENCE
IF .NOT. pl_Update
IF .NOT. _DICTFLD->(VS_AddRec())
BREAK
ELSE
REPLACE _DICTFLD->DBF_NAME WITH _DEF__DICTFLD_DBF_NAME
REPLACE _DICTFLD->FIELD_NMBR WITH _DEF__DICTFLD_FIELD_NMBR
REPLACE _DICTFLD->FIELD_NAME WITH _DEF__DICTFLD_FIELD_NAME
REPLACE _DICTFLD->FIELD_TYPE WITH _DEF__DICTFLD_FIELD_TYPE
REPLACE _DICTFLD->FIELD_LEN WITH _DEF__DICTFLD_FIELD_LEN
REPLACE _DICTFLD->FIELD_DEC WITH _DEF__DICTFLD_FIELD_DEC
REPLACE _DICTFLD->DESC WITH _DEF__DICTFLD_DESC
REPLACE _DICTFLD->DEFAULT WITH _DEF__DICTFLD_DEFAULT
REPLACE _DICTFLD->PICTURE WITH _DEF__DICTFLD_PICTURE
ENDIF
ELSE
IF .NOT. _DICTFLD->(VS_RLOCK())
BREAK
ENDIF
ENDIF
REPLACE _DICTFLD->FIELD_NMBR WITH a_Get[001]
REPLACE _DICTFLD->FIELD_NAME WITH a_Get[002]
REPLACE _DICTFLD->FIELD_TYPE WITH a_Get[003]
REPLACE _DICTFLD->FIELD_LEN WITH a_Get[004]
REPLACE _DICTFLD->FIELD_DEC WITH a_Get[005]
REPLACE _DICTFLD->DESC WITH a_Get[006]
REPLACE _DICTFLD->DEFAULT WITH a_Get[007]
REPLACE _DICTFLD->PICTURE WITH a_Get[008]
*══════════════════════════════════════════════════════════*
* Call the optional program specified by the programmer *
*══════════════════════════════════════════════════════════*
REPLACE _DICTFLD->DBF_NAME WITH _DICTHDR->DBF_NAME
_DICTFLD->( dbUnlock() )
END SEQUENCE
RETURN(NIL)
*══ EOF: E_DICTFLD() ═════════════════════════════════════════════════════════*